package org.edu.modules.kwgl.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.edu.modules.kwgl.config.ConfigConstant;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.edu.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 免缓缺成绩登记
 * @Author: jeecg-boot
 * @Date:   2021-05-12
 * @Version: V1.0
 */
@Data
@TableName("ve_jw_cj_free")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="免缓缺成绩登记对象", description="免缓缺成绩登记")
public class VeJwCjFree implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键ID，自增长*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键ID，自增长")
    private Integer id;
	/**教学任务*/
	@Excel(name = "教学任务", width = 15)
    @ApiModelProperty(value = "教学任务")
    @Dict(dictTable = ConfigConstant.dbName+"ve_jw_jxrw",dicCode = "id",dicText = "name")
    private Integer jxrwid;
	/**考试形式ID*/
	@Excel(name = "考试形式ID", width = 15)
    @ApiModelProperty(value = "考试形式ID")
    @Dict(dicCode = "kwgl_kaoshi_ksxs")
    private Integer ksxsid;
	/**是否有考试（1=有，0=无）*/
	@Excel(name = "是否有考试（1=有，0=无）", width = 15)
    @ApiModelProperty(value = "是否有考试（1=有，0=无）")
    @Dict(dicCode = "kwgl_kaoshi_have")
    private Integer hasexam;
	/**考试ID*/
	@Excel(name = "考试ID", width = 15)
    @ApiModelProperty(value = "考试ID")
    @Dict(dictTable = ConfigConstant.dbName+"ve_jw_kaoshi",dicText = "name",dicCode = "id")
    private Integer ksid;
	/**学生ID*/
	@Excel(name = "学生ID", width = 15)
    @ApiModelProperty(value = "学生ID")
    private Integer stuid;
	/**学生用户ID*/
	@Excel(name = "学生用户ID", width = 15)
    @ApiModelProperty(value = "学生用户ID")
    private Integer userid;
	/**学号*/
	@Excel(name = "学号", width = 15)
    @ApiModelProperty(value = "学号")
    private String xh;
	/**学生姓名*/
	@Excel(name = "学生姓名", width = 15)
    @ApiModelProperty(value = "学生姓名")
    private String xm;
	/**院系ID*/
	@Excel(name = "院系ID", width = 15)
    @ApiModelProperty(value = "院系ID")
    private Integer falid;
	/**专业ID*/
	@Excel(name = "专业ID", width = 15)
    @ApiModelProperty(value = "专业ID")
    private Integer specid;
	/**年级ID*/
	@Excel(name = "年级ID", width = 15)
    @ApiModelProperty(value = "年级ID")
    private Integer gradeid;
	/**学期ID*/
	@Excel(name = "学期ID", width = 15)
    @ApiModelProperty(value = "学期ID")
    private Integer semid;
	/**课程ID*/
	@Excel(name = "课程ID", width = 15)
    @ApiModelProperty(value = "课程ID")
    @Dict(dictTable = "ve_jw_kecheng",dicCode = "id",dicText = "KCMC")
    private Integer kcid;
	/**教学班ID*/
	@Excel(name = "教学班ID", width = 15)
    @ApiModelProperty(value = "教学班ID")
    @Dict(dictTable = "ve_jw_jxb",dicText = "BJMC",dicCode = "id" )
    private Integer jxbid;
	/**行政班ID*/
	@Excel(name = "行政班ID", width = 15)
    @ApiModelProperty(value = "行政班ID")
    private Integer xzbid;
	/**考试日期*/
	@Excel(name = "考试日期", width = 15)
    @ApiModelProperty(value = "考试日期")
    private String ksrq;
	/**平时成绩*/
	@Excel(name = "平时成绩", width = 15)
    @ApiModelProperty(value = "平时成绩")
    private BigDecimal pscj;
	/**分数类考试成绩*/
	@Excel(name = "分数类考试成绩", width = 15)
    @ApiModelProperty(value = "分数类考试成绩")
    private BigDecimal fslkscj;
	/**课程成绩（最终成绩）*/
	@Excel(name = "课程成绩（最终成绩）", width = 15)
    @ApiModelProperty(value = "课程成绩（最终成绩）")
    private BigDecimal kccj;
	/**课程等级成绩码*/
	@Excel(name = "课程等级成绩码", width = 15)
    @ApiModelProperty(value = "课程等级成绩码")
    private Integer kcdjcjm;
	/**免缓缺类型（1=免考，2=缓考，3=缺考）*/
	@Excel(name = "免缓缺类型（1=免考，2=缓考，3=缺考）", width = 15)
    @ApiModelProperty(value = "免缓缺类型（1=免考，2=缓考，3=缺考）")
    @Dict(dicCode = "kwgl_free_type")
    private Integer type;
	/**免缓缺登记的原因（大文本字段ID）*/
	@Excel(name = "免缓缺登记的原因（大文本字段ID）", width = 15)
    @ApiModelProperty(value = "免缓缺登记的原因（大文本字段ID）")
    private Integer reasontid;

    @TableField(exist = false)
    private String reasontidText;
	/**登记用户ID*/
	@Excel(name = "登记用户ID", width = 15)
    @ApiModelProperty(value = "登记用户ID")
    private Integer createuserid;
	/**登记时间*/
	@Excel(name = "登记时间", width = 15)
    @ApiModelProperty(value = "登记时间")
    private Integer createtime;
	/**审核状态（0=待审核，1=通过，2=不通过）*/
	@Excel(name = "审核状态（0=待审核，1=通过，2=不通过）", width = 15)
    @ApiModelProperty(value = "审核状态（0=待审核，1=通过，2=不通过）")
    @Dict(dicCode = "kwgl_auditStatus")
    private Integer auditstatus;
	/**审核人ID*/
	@Excel(name = "审核人ID", width = 15)
    @ApiModelProperty(value = "审核人ID")
    private Integer audituserid;
	/**审核不通过的原因（大文本字段ID）*/
	@Excel(name = "审核不通过的原因（大文本字段ID）", width = 15)
    @ApiModelProperty(value = "审核不通过的原因（大文本字段ID）")
    private Integer audittid;

    @TableField(exist = false)
    private String audittidText;
	/**终端ID*/
	@Excel(name = "终端ID", width = 15)
    @ApiModelProperty(value = "终端ID")
    private Integer terminalid;

	@TableField(exist = false)
    private VeJwCjFreeXs freeXs;
}
